Op deze pagina vind je een demonstratie van een statistische techniek aan de hand van een voorbeeld.
Meer informatie over hoe je deze pagina kan gebruiken vind je in deze handleiding.
De analyse gebeurt met behulp van R en RStudio. Een inleiding tot deze software vind je hier.
Het voorbeeld op deze pagina is afkomstig van een studie van Van Nieuwenhove & De Wever (2023). Er zijn kleine wijzigingen aangebracht om didactische redenen. De studie is ook uitgebreider dan wat hier wordt gedemonstreerd.
Logistische regressie is een statistische techniek die toelaat om een categorische uitkomstvariabele te modelleren in functie van een reeks predictoren. De predictoren kunnen zowel continu als categorisch zijn. Een eerste voorbeeld van een dergelijk model vind je elders op Statlas terug.
Het is mogelijk om interacties tussen predictoren toe te voegen aan een logistisch regressiemodel en om deze te toetsen. De termen “interactie” en “moderatie” worden beide gebruikt. Daarover gaat deze demonstratie.
Binaire logistische regressie verwijst naar de specifieke situatie waarin de categorische uitkomstvariabele exact twee waarden (“niveaus”) kan aannemen. Er bestaat ook multinomiale logistische regressie, waarbij de uitkomst meer dan twee waarden kan aannemen.
Logistische regressie maakt deel uit van een familie van statistische technieken die gezamenlijk “Veralgemeend Lineair Model” worden genoemd (in het Engels: “Generalized Linear Model”).
In deze demonstratie belichten we een deel van de studie van Van Nieuwenhove & De Wever (2023). Zij proberen te verklaren waarom mensen wel of niet deelnemen aan opleidingen in het volwassenenonderwijs. Hun onderzoek is in belangrijke mate gebaseerd op een courante theorie in de gedragswetenschappen: de theorie van gepland gedrag (afgekort TGG; in het Engels: “theory of planned behavior”). Kort samengevat stelt deze theorie dat gedrag een gevolg is van de intentie om dat gedrag te stellen, waarbij die intentie op zijn beurt het gevolg is van drie grote groepen van oorzaken:
Een van de onderzoeksvragen die Van Nieuwenhove & De Wever (2023) zich stelden was of de intentie om wel of niet een opleiding te volgen in het volwassenenonderwijs kan worden verklaard met behulp van deze drie variabelen1. Het is duidelijk dat de intentie om wel of niet deel te nemen aan een opleiding een categorische afhankelijke variabele is met twee niveaus. In een eerste fase was het de bedoeling om die te modelleren in functie van de drie grote variabelen uit de TGG. Om die onderzoeksvraag met die predictoren te bestuderen gebruikten de onderzoekers binaire logistische regressie. Hoe dat werkt vind je in een andere demonstratie op Statlas.
Van Nieuwenhove & De Wever (2023) bouwen daarna voort op de TGG met als doel om tekortkomingen in de bestaande wetenschappelijke literatuur over volwassenenonderwijs te remediëren. Tot nu toe is er nog geen studie verschenen die uitdrukkelijk personen met verschillende opleidingsniveaus vergelijkt in de context van de TGG en volwassenenonderwijs. Dat is nochtans een interessante piste omdat mensen met een lager opleidingsniveau mogelijk meer psychosociale barrières ervaren, als gevolg van negatievere eerdere ervaringen met onderwijs. De relatie tussen de TGG-predictoren en de beslissing om een opleiding te volgen zou daardoor verschillend kunnen zijn. De auteurs onderzoeken deze hypothese door interactie-effecten (ook moderatie-effecten genoemd) te toetsen. Dat is wat we op deze pagina zullen demonstreren.
Van Nieuwenhove & De Wever (2023) gaan in hun studie nog een stap verder en onderzoeken ook de rol van psychosociale barrières bij de intentie om een opleiding te volgen. Dat is het belangrijkste doel van hun artikel (dat kan je al afleiden uit de titel). Dergelijke barrières zijn onderbelicht in de literatuur en dus de moeite waard om te onderzoeken. Meer bepaald vermoeden ze dat eerdere ervaringen met onderwijs een psychosociale barrière zouden kunnen vormen om als volwassene opnieuw een opleiding te volgen. Voor dit alles gebruiken zij een model met mediatie. Dat demonstreren we hier niet.
De data die voor de demonstratie worden gebruikt zijn online beschikbaar. Gebruik de volgende code om de data in te laden in RStudio.
barrieres <- read.csv('https://statlas.ugent.be/datasets/barrieres.csv')
De dataset barrieres
bevat de gegevens van 563
respondenten die een vragenlijst invulden. Deze bestond uit 8
vragen.
intentie
“Ik ben van plan om tijdens de volgende 12 maand
deel te nemen aan een vorm van levenslang leren.” De antwoordopties
“nee” en “ja” werden gecodeerd als 0 en 1.
pcg
Perceptie van controle over het eigen gedrag
psn
Perceptie van sociale normen
attitudes
Attitudes tegenover het gedrag
opl.niveau
Opleiding gehercodeerd in 3 categorieën (1/2/3 =
“Laagopgeleid”/“Middenopgeleid”/“Hoogopgeleid”)
leeftijd
Een controlevariabele
geslacht
Een controlevariabele
Je ziet dat sommige van deze variabelen categorisch zijn. Het is
belangrijk dat de categorische predictoren van datatype
factor
zijn. Anders zal R bijvoorbeeld de numerieke codes
(1
, 2
en 3
) van variabele
opl.niveau
interpreteren als echte getallen, wat niet
correct is.
barrieres$opl.niveau <- factor(barrieres$opl.niveau)
barrieres$geslacht <- factor(barrieres$geslacht)
Om na te gaan dat de omzetting gelukt is kan je het datatype opvragen
met de functie class()
.
class(barrieres$opl.niveau)
[1] "factor"
Merk ook de controlevariabelen leeftijd
en
geslacht
op. Die voegt men toe om meer zekerheid in te
bouwen dat de effecten uit de onderzoeksvraag (waarin men dus het meest
geïnteresseerd is) accuraat kunnen worden geschat.
Om een logistisch regressiemodel te fitten heb je genoeg aan het
basispakket van R (“base R”). Er zijn geen packages nodig. Om effecten
te visualiseren zullen we wel gebruik maken van het package
effects
. Je kan het eventueel al installeren. Verderop
zullen we uitdrukkelijk vermelden wanneer we dat package gebruiken.
install.packages('effects')
De hoofdbedoeling is om te achterhalen of er in de data bewijs te vinden is voor interactie-effecten tussen enerzijds het opleidingsniveau en anderzijds de drie predictoren van de TGG. De aanleiding hiervoor was een vermoeden dat de relatie tussen de TGG-predictoren en de intentie om een opleiding te volgen niet hetzelfde is voor mensen met een verschillend opleidingsniveau.
De strategie om op deze onderzoeksvraag een antwoord te bieden bestaat uit een modelvergelijking aan de hand van een “Likelihood Ratio Test” (LRT). Daarbij ga je een model met een reeks predictoren vergelijken met een ander model dat dezelfde predictoren bevat plus een aantal andere predictoren (en/of effecten). We spreken van “geneste modellen”.
In dit voorbeeld is er sprake van een logistische regressiemodel met vijf predictoren. In een diagram ziet dit model er als volgt uit (klik op de afbeelding om te vergroten):
Dit model is genest in een ander model dat dezelfde vijf predictoren bevat, maar daarnaast ook drie interactie-effecten. Deze zijn in het onderstaande diagram aangeduid als rode pijlen. Dit tweede model noemt men “complexer” dan het eerste model.
De regressievergelijking van dit laatste model ziet er als volgt uit.
\[ \begin{align*} log\left(\frac{\pi}{1-\pi}\right) = & \beta_0 + \beta_1 \: \times pcg + \beta_2 \: \times psn + \beta_3 \: \times attitudes \\ & + \beta_4 \: \times opl.niveau2 + \beta_5 \: \times opl.niveau3 \\ & + \beta_6 \: \times leeftijd + \beta_7 \: \times geslacht1 \\ & + \beta_8 \: \times pcg \times opl.niveau2 + \beta_9 \: \times pcg \times opl.niveau3 \\ & + \beta_{10} \: \times psn \times opl.niveau2 + \beta_{11} \: \times psn \times opl.niveau3 \\ & + \beta_{12} \: \times attitudes \times opl.niveau2 + \beta_{13} \times attitudes \times opl.niveau3 \end{align*} \]
\(\pi\) staat daarbij voor de kans op de intentie om een opleiding te volgen. \(\frac{\pi}{1-\pi}\) is de odds op de intentie om een opleiding te volgen. De logaritme van de odds wordt ook de logit genoemd.
De modelvergelijking is een hypothesetoets. De nulhypothese bij deze toets luidt dat de twee geneste modellen niet van elkaar verschillen. In dat geval is geen enkel van de interactie-effecten aanwezig. De alternatieve hypothese luidt dat de twee geneste modellen wel van elkaar verschillen. Dan is er ten minste één interactie-effect.
Het is zo goed als zeker dat de modellen minstens een beetje van elkaar zullen verschillen in jouw steekproef. Met de modelvergelijking ga je na of het geloofwaardig is dat deze verschillen aan toeval te wijten zijn.
Terzijde, in dit voorbeeld gebruiken we modelvergelijking om drie verschillende interactie-effecten ineens te toetsen, maar dezelfde methode is even goed bruikbaar om bijvoorbeeld één interactie-effect te toetsen.
Je kan meteen een eerste indicatie krijgen van het antwoord op de
onderzoeksvraag door enkele eenvoudige plots aan te maken. Hier is de
onderzoeksvraag of het effect van pcg
, psn
en/of attitudes
op intentie
verschillend is
voor verschillende waarden van opl.niveau
.
Met de functie levels()
kan je de waarden van
opl.niveau
oproepen. De bedoeling is dus om het effect van
de drie predictoren te visualiseren, eerst voor opl.niveau
gelijk aan 1
, dan voor opl.niveau
gelijk aan
2
en ten slotte voor opl.niveau
gelijk aan
3
.
Om uit barrieres
enkel de observaties te selecteren waar
opl.niveau
gelijk is aan 1
, gebruik je de
volgende conditie.
opl.laag <- barrieres$opl.niveau == '1' # let op het dubbele gelijkheidsteken!
Met de vector opl.laag
kan je nu uit
barrieres
de rijen halen die aan deze conditie voldoen.
barrieres[opl.laag,]
Dit is een “nieuw” dataframe dat je kan gebruiken als dataset in de
functie boxplot()
.
Het argument horizontal=TRUE
doet de horizontale en de
verticale as van plaats wisselen. Dat is niet echt nodig, maar het zorgt
ervoor dat de predictor op de horizontale as komt en de uitkomst op de
verticale as, zoals je waarschijnlijk gewoon bent.
Het argument ylim
legt de minimum- en maximumwaarde op
de horizontale as vast. Als je dit niet specifieert bestaat het risico
dat sommige plots bijvoorbeeld maar van 2 tot 6 gaan, omdat er geen
extreme waarden in de dataset aanwezig zijn. Plots met verschillende
assen zouden moeilijker op het zicht te vergelijken zijn, dus dat wil je
liever vermijden.
boxplot(pcg ~ intentie,
data=barrieres[opl.laag,],
horizontal=TRUE,
ylim=c(1,7)
)
Uit deze plot kan je afleiden dat bij lagere waarden van
pcg
de intentie vooral gelijk is aan 0
en bij
hogere waarden zie je dat de intentie eerder gelijk is aan
1
.
Die eerste plot leert je nog niets over de onderzoeksvraag. Daarvoor
moet je het effect van pcg
bij opl.niveau
gelijk aan 1
vergelijken met het effect bij
opl.niveau
gelijk aan 2
en 3
. Je
hebt dus ook plots nodig voor die condities. Daarna moet je dit allemaal
nog eens herhalen voor de predictoren psn
en
attitudes
! Je hebt dus in totaal 3 \(\times\) 3 \(=\) 9 plots nodig: er zijn immers drie
predictoren die elk (zouden) interageren met opl.niveau
,
dat drie niveaus heeft. De code voor elk van die plots is heel
gelijkaardig. Klik op de link om de
code
voor alle plots te zien.
Je ziet de 9 plots hieronder.
De vraag die je hier visueel probeert te beantwoorden is deze: is het
effect van pcg
, psn
en/of
attitudes
verschillend bij verschillende waarden van
opl.niveau
? Visueel verkennen van het antwoord houdt in dat
je nagaat of er in minstens één kolom verschillende effecten te zien
zijn tussen de drie plots in die kolom.
Het antwoord is niet 100% duidelijk. Er zijn misschien wel kleine verschillen, maar zou dit niet aan toeval te wijten kunnen zijn? Het ziet eruit als een twijfelgeval. Meer duidelijkheid zal je hier pas krijgen door een formele significantietoets uit te voeren.
Om de onderzoeksvraag te beoordelen ga je dus twee geneste modellen
vergelijken. Daarvoor zal je in R elk model specifiëren, fitten en
opslaan in een object. In een volgende stap zal je de modellen
vergelijken met behulp van de functie anova()
.
Eerst het minder complexe model, zonder interacties. Je vertelt erbij
uit welk dataframe de gegevens moeten komen (argument data
)
en welk soort analyse je wil uitvoeren (argument family
).
Dat laatste is nodig omdat glm
ook andere soorten analyses
dan logistische regressie aankan. Je kiest voor
link = "logit"
omdat je een logaritme van de odds wil
modelleren.
formula.mdl <- 'intentie ~ pcg + psn + attitudes + leeftijd + opl.niveau + leeftijd + geslacht'
mdl <- glm(formula = formula.mdl, data = barrieres, family = binomial(link = 'logit'))
Je ziet dat hier in twee stappen wordt gewerkt. Dit is enkel voor de leesbaarheid van de code.
Vervolgens specifieer en fit je het complexere model.
formula.mdl.interactie <- 'intentie ~ pcg*opl.niveau + psn*opl.niveau + attitudes*opl.niveau + leeftijd + geslacht'
Je gebruikt de asterisk *
om interactie-effecten te
coderen. Merk op dat alle variabelen die in een interactie-effect
betrokken zijn, automatisch ook als hoofdeffect aan het model worden
toegevoegd wanneer je *
gebruikt. Dat is een goede zaak:
zonder die hoofdeffecten in het model loop je het risico dat je
schattingen van de interactie-effecten fout zijn.
De modelspecificatie kan ook wat korter. Zo hoef je
opl.niveau
geen drie keer te schrijven.
formula.mdl.interactie <- 'intentie ~ (pcg + psn + attitudes)*opl.niveau + leeftijd + geslacht'
Het model fitten doe je opnieuw met glm()
.
mdl.interactie <- glm(formula = formula.mdl.interactie, data = barrieres, family = binomial(link = 'logit'))
Wanneer de modellen eenmaal gefit zijn kan je overgaan tot de modelvergelijking aan de hand van een “likelihood ratio test” (LRT). Dat is een hypothesetoets:
anova(mdl, mdl.interactie, test='LRT')
Analysis of Deviance Table
Model 1: intentie ~ pcg + psn + attitudes + leeftijd + opl.niveau + leeftijd +
geslacht
Model 2: intentie ~ (pcg + psn + attitudes) * opl.niveau + leeftijd +
geslacht
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 528 539.48
2 522 533.39 6 6.0956 0.4126
Met een p-waarde van 0.4126 kan je de nulhypothese niet verwerpen op het 5% significantieniveau. Er is met andere woorden geen bewijs gevonden voor de bewering dat het model met interactie-effecten beter is.
Dankzij de modelvergelijking heb je meteen een antwoord op de onderzoeksvraag. Er is geen bewijs gevonden voor de vooropgestelde interactie-effecten.
In wat volgt zullen we, louter voor de demonstratie, toch verder werken met het model met interactie-effecten.
Soms vragen onderzoekers zich af wat de verklarende kracht is van een model in zijn geheel. Om dat te achterhalen in de context van logistische regressie bestaan verschillende technieken die al elders op Statlas aan bod komen. Hier zullen we dit dus niet herhalen.
Met de functie summary()
kan je veel relevante
informatie over het model opvragen.
summary(mdl.interactie)
Call:
glm(formula = formula.mdl.interactie, family = binomial(link = "logit"),
data = barrieres)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0341 -0.8073 -0.3302 0.8245 2.5028
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -6.728622 1.361546 -4.942 7.74e-07 ***
pcg 0.468985 0.212487 2.207 0.027306 *
psn 0.561931 0.145379 3.865 0.000111 ***
attitudes 0.285993 0.215069 1.330 0.183593
opl.niveau2 0.091777 2.102805 0.044 0.965187
opl.niveau3 1.056392 1.894095 0.558 0.577029
leeftijd -0.013319 0.008384 -1.589 0.112140
geslacht1 0.058048 0.225221 0.258 0.796610
pcg:opl.niveau2 -0.057955 0.340877 -0.170 0.864997
pcg:opl.niveau3 -0.335319 0.278980 -1.202 0.229385
psn:opl.niveau2 0.193728 0.248474 0.780 0.435585
psn:opl.niveau3 -0.197343 0.186187 -1.060 0.289182
attitudes:opl.niveau2 -0.094408 0.337412 -0.280 0.779632
attitudes:opl.niveau3 0.410814 0.312453 1.315 0.188576
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 721.95 on 535 degrees of freedom
Residual deviance: 533.39 on 522 degrees of freedom
(27 observations deleted due to missingness)
AIC: 561.39
Number of Fisher Scoring iterations: 5
De parameterschattingen onder Estimate
zijn interessant
omdat die het (eventuele) effect van de predictoren kwantificeren. Die
kan je vervolgens gebruiken om ook predicties te genereren. Verderop in
deze demonstratie lees je dus …
In logistische regressie zijn het niet de waarden van de uitkomstvariabele zelf die gemodelleerd worden in functie van predictoren, maar wel de logaritmes van de odds. In dit voorbeeld gaat het om de odds op het hebben van de intentie om een opleiding te volgen. Voor een uitgebreidere uitleg over logaritmes, odds en oddsratio’s, kan je in deze syllabus terecht.
In de output van summary(mdl.interactie)
vind je een
kolom Estimate
. Daarin staan parameterschattingen. De
interpretatie van deze waarden is niet zo eenvoudig. Wat je wel kan doen
is deze kolom met parameterschattingen omrekenen naar odds en
oddsratio’s. De kolom maakt deel uit van het object
mdl.interactie
en kan je afzonderlijk selecteren met
mdl.interactie$coef
. Vervolgens geef je dit aan de functie
exp()
.
exp(mdl.interactie$coef)
(Intercept) pcg psn attitudes opl.niveau2
0.00119618 1.59837123 1.75405559 1.33108353 1.09612031
opl.niveau3 leeftijd geslacht1 pcg:opl.niveau2 pcg:opl.niveau3
2.87597587 0.98676949 1.05976550 0.94369246 0.71510997
psn:opl.niveau2 psn:opl.niveau3 attitudes:opl.niveau2 attitudes:opl.niveau3
1.21376552 0.82090896 0.90991187 1.50804515
Deze odds en oddsratio’s zijn makkelijker te interpreteren.2
Onder (Intercept)
vind je de geschatte odds voor iemand
met waarde 0 voor alle predictoren.
Er zijn ook parameters voor de hoofdeffecten. Bijvoorbeeld, bij
pcg
zie je 1.5984 staan. Dit is een oddsratio, net zoals in
een model zonder interactie-effecten, maar let op! De interpretatie is
niet helemaal dezelfde als in een model zonder interactie-effecten. In
dit model is er namelijk een interactie-effect tussen pcg
en opl.niveau
. Dat betekent dat het effect van
pcg
op intentie
verschillend is naargelang de
waarde van opl.niveau
. Het getal 1.5984 stelt het effect
voor van pcg
op de odds van intentie
, maar
enkel voor het referentieniveau van de categorische variabele
opl.niveau
.
Dus wanneer opl.niveau
de waarde 1
heeft
(wat staat voor “laagopgeleid”), verwachten we voor elke eenheid toename
van pcg
dat de odds op intentie
veranderen met
factor 1.5984. Deze oddsratio is groter dan 1 , dus we verwachten dat de
odds op intentie
groter wordt naarmate pcg
hoger is.
Wat is dan het effect van pcg
voor andere niveaus van
opl.niveau
? Bijvoorbeeld het effect van pcg
voor opl.niveau
gelijk aan 2
kan je bekomen
door 1.5984 te vermenigvuldigen met 0.9437. Het resultaat van deze
vermenigvuldiging 1.5084 is ook een oddsratio.
Wanneer opl.niveau
de waarde 2
heeft,
verwachten we voor elke eenheid toename van pcg
dat de odds
op intentie
veranderen met factor 1.5084. Deze oddsratio is
groter dan 1, dus we verwachten dat de odds op intentie
groter wordt naarmate pcg
hoger is, maar in mindere mate
dan wanneer opl.niveau
gelijk is aan 1
.
Om de geschatte effecten te visualiseren kan je het
effects
-package gebruiken. Dat moet je eenmalig installeren
en daarna bij elke R-sessie laden.
install.packages('effects') # eenmalig
library(effects) # bij elke sessie
Omdat de onderzoeksvraag gaat over interactie-effecten is het de
bedoeling om het effect van bijvoorbeeld pcg
afzonderlijk
te zien voor opl.niveau
gelijk aan 1
,
2
en 3
. De functie
predictorEffect()
zorgt daar vanzelf voor. Je geeft enkel
de predictor in kwestie en het modelobject mdl.interactie
.
De functie “weet” dat pcg
in je model betrokken is in een
interactie met opl.niveau
en genereert vanzelf een plot
voor elk niveau van die variabele.
effects.pcg <- predictorEffect('pcg', mdl.interactie)
plot(effects.pcg)
Op de horizontale as van elke plot verschijnen de verschillende
waarden die de predictor kan aannemen. De verticale as toont de kans
(dus niet de log(odds) of de odds!) op intentie
voor elke
waarde van de predictor. Kansen aflezen op de verticale as is niet
noodzakelijk interessant. De plot toont immers de lineaire relatie
tussen de predictor en de uitkomst intentie
voor
specifieke vaste waarden van de overige predictoren (zoals
attitudes
of leeftijd
). Voor andere waarden
van de overige predictoren zal de rechte hoger of lager liggen. Het
interessante aan een dergelijke plot is de helling van de rechte. Die
vertelt je iets over de relatie tussen de predictor en de uitkomst.
Merk ook op dat de verticale as herschaald is. De streepjes bij 0.1 en 0.2 liggen niet even ver uit elkaar als de streepjes tussen 0.2 en 0.3, enzovoort. Dat komt omdat in een logistisch regressiemodel de kans geen lineaire functie is van de predictoren.
Gelijkaardige plots voor psn
en attitudes
bekom je op analoge wijze.
Dankzij de schattingen die we hebben bekomen in de output van
summary(mdl.interactie)
is het nu mogelijk om predicties te
berekenen. Voor een persoon met bepaalde waarden voor de predictoren kan
je berekenen wat de geschatte waarde is voor de uitkomstvariabele.
In logistische regressie modelleren we niet intentie
(de
uitkomstvariabele) zelf in functie van de predictoren, maar wel de
logaritme van de odds op intentie
. Wanneer je waarden voor
de predictoren in de regressievergelijking stopt, dan kom je natuurlijk
waarden voor de logaritme van de odds (“logit”) uit, niet voor de
uitkomstvariabele zelf. Voor meer uitleg kan je opnieuw terecht
in
deze syllabus.
Je kan de logaritme van de odds zelf berekenen door waarden voor de predictoren in te vullen in de regressievergelijking.
\[ \begin{align*} log\left(\frac{\pi}{1-\pi}\right) = & \beta_0 \\ & + \beta_1 \: \times pcg \\ & + \beta_2 \: \times psn \\ & + \beta_3 \: \times attitudes \\ & + \beta_4 \: \times opl.niveau2 \\ & + \beta_5 \: \times opl.niveau3 \\ & + \beta_6 \: \times leeftijd \\ & + \beta_7 \: \times geslacht1 \\ & + \beta_8 \: \times pcg \times opl.niveau2 \\ & + \beta_9 \: \times pcg \times opl.niveau3 \\ & + \beta_{10} \: \times psn \times opl.niveau2 \\ & + \beta_{11} \: \times psn \times opl.niveau3 \\ & + \beta_{12} \: \times attitudes \times opl.niveau2 \\ & + \beta_{13} \times attitudes \times opl.niveau3 \end{align*} \]
Je kan dit makkelijk opvragen in R voor alle observaties in je
dataset. Gebruik daarvoor de functie predict()
.
predict(mdl.interactie)
1 2 3 4 5 6 7 9
0.8940863745 0.4627470154 1.3778612262 -0.5339392010 -0.5731288259 0.5491901365 0.8455989981 -1.1423837676
10 11 12 13 14 15 16 17
-0.5694729302 0.4050374368 -2.6896959687 0.2227711979 1.7860455952 0.1510005526 -2.8692280288 0.9945750516
18 19 20 21 22 23 24 25
1.4208966907 1.1960654256 0.6557918895 -1.9310103051 -3.2425849358 0.7451913508 0.9179306588 -0.5968843856
26 28 29 30 31 32 33 34
-2.3843109905 1.5220177659 -1.6326229974 -2.8674598779 1.6957399752 -0.6600681969 0.6376660915 -1.3396029023
35 36 37 38 39 40 41 42
1.2411409168 0.0970410540 -3.2928798367 0.3981637308 1.0046589553 1.5264742581 -0.7901706998 -2.9195135261
43 44 45 46 47 48 49 50
1.3273779388 -0.3798045553 -2.7941038091 0.8606917902 -3.4821126684 0.3764287308 1.0570279413 1.6582415444
51 52 53 54 55 56 57 58
-0.9428208953 -4.2576892501 -0.5874792545 -4.7105759285 -1.7696848096 -1.9889664256 0.2939497292 1.4655772423
59 60 61 62 63 64 65 66
-0.8286490193 -0.0164879120 -0.7937696662 -1.8361612539 0.3844795950 1.6138200755 -1.4250638168 0.7146781172
67 68 69 70 71 72 73 74
-0.0110396531 -0.7453001384 0.7025626124 -0.6176474416 1.5604372144 0.3836429373 -1.8780556142 -1.2679739860
75 76 77 78 79 80 81 82
0.8882383342 1.1479092331 -1.1174658370 -0.6312541517 -0.8825769486 0.1396256741 -2.5796789857 -2.6330771252
83 84 85 86 87 88 89 90
-0.4088291253 -0.9304770760 -0.1207463231 -0.2444520110 0.0862213568 -3.2576874090 -3.1213258193 -1.7172518321
91 92 93 94 95 96 97 98
-1.2340295722 -2.1300719141 -2.0129726220 -2.5971325146 -1.4472272304 0.6565307398 -1.2597069296 -0.9156833298
99 100 101 102 103 106 107 108
-0.3717385207 -1.7290512867 -0.4742436611 -5.8268447165 -0.7896973679 -1.5623537228 1.1792243438 -0.7035325716
109 110 111 112 114 115 116 117
0.0822795339 1.7973473677 -0.3277798810 -2.5493223485 -3.1610612190 -0.7634254008 -1.3221705970 0.8516497714
118 119 120 121 122 123 124 125
1.3184657410 -0.9040459474 0.8208693313 -0.9576979342 -0.4653364542 -1.8948879831 -0.3289162536 -0.7342758568
126 127 128 129 130 131 132 133
-5.3291225508 -3.9144968087 -0.8098888738 -2.1724930873 -2.3712280425 -1.1307032959 -0.9631766858 -2.4688959424
134 135 136 137 138 139 140 142
-2.3847404130 -3.6107893565 2.0030387100 -0.0035000410 -0.9468717406 0.9197855522 -0.0181876186 -1.2276071984
143 144 146 147 148 149 150 151
1.1076421388 -2.3425917188 1.9105008345 -0.5124757669 1.0448179248 1.3871697783 1.3827678278 -0.4763591035
152 153 154 155 156 157 158 159
-3.1206358641 1.9337868844 0.1640168840 -3.0523996995 -1.6787110690 -3.8630348373 -2.7317002894 0.9666128941
160 161 162 163 165 166 168 169
0.5609452539 1.4890474508 -2.7634102135 -1.9750364984 -1.7889109975 -0.2810940030 -2.1890561176 1.7624781496
170 171 172 173 174 175 176 177
-1.8249609470 -3.3873540301 0.5269638412 0.9330767504 -1.9471979339 0.0615696636 -1.7046852576 -0.4644546873
178 179 180 181 182 183 184 185
-0.5614784230 -1.1329958594 -0.3415169647 -0.5981719727 0.4956991506 1.3979139194 -1.5185305818 0.8687965810
187 188 189 190 191 192 193 194
1.7295396721 -1.2270570449 1.2989774972 -0.5958297591 -0.1891619757 0.2165518880 0.5935751040 1.2072144618
195 196 197 198 199 200 201 202
0.0634688796 0.4442016956 -0.4197705281 -0.5383644482 1.2421088129 -0.7133164050 1.6101218533 0.6387509041
203 205 206 207 208 209 210 211
-0.9933640036 -1.8430521660 -0.2072335802 0.2218136787 0.0371263337 0.4300711509 2.0151889283 0.3432465547
212 213 214 215 216 217 218 219
1.2481917115 0.8102082852 -1.0055187921 -0.1573528898 1.2565710855 0.5769963540 0.6716530847 0.9569808328
220 221 222 223 224 225 226 228
-1.0185113947 1.6839814473 0.3430440211 0.6438659501 1.5382015409 1.7559700987 1.6543361249 1.0254472144
229 230 231 232 233 234 235 236
-1.0887173078 1.3648412475 0.3934690618 -0.9252326909 0.2047834400 -0.4472954124 2.0518887105 0.4054751654
237 238 239 240 241 242 243 244
-3.4901278719 -4.7532094186 1.0876074861 -0.0796708134 -0.0208131963 0.0195848081 1.6157275194 1.1606072398
245 246 247 248 249 250 251 252
1.6052736706 -1.1117932902 1.0195903826 1.0359010632 0.6291263050 0.7655743626 1.4701633512 0.6925962420
254 255 256 257 258 259 260 261
-0.2267715312 -3.7629288951 -0.3374029967 0.3039721017 -3.1785170237 1.4085356913 -2.0310865574 -2.3375608321
262 263 264 265 266 267 268 269
1.2687213039 1.0132736993 -0.3416951844 -2.1279595270 0.2011928311 -0.7291597205 -1.8777254193 -2.6472131248
270 271 272 273 274 276 277 278
-2.7291692237 1.7424037110 2.2014992161 -2.8270817801 0.7027196901 0.9105808081 -1.7260225062 -3.0857859009
279 280 281 282 283 284 286 287
-2.1272322303 1.0913142491 0.1929332762 0.4479460007 -2.6118712979 -2.8365292439 -4.9958773276 -0.3041996616
288 289 290 291 292 293 294 295
-0.5431368553 -1.9235369063 1.9030281029 -0.6292821322 -1.2494090089 0.6378691372 -3.3283641998 -0.2286988326
296 297 298 299 300 301 302 303
-0.0038636894 0.2088023281 -0.3740371704 -1.2732879036 -3.4257818222 -1.9818196806 1.4180566970 -0.1974932261
304 305 306 307 308 309 310 311
0.6828563259 -2.6482400222 -3.4326064850 0.9749087925 -3.1412785046 -0.7899200100 0.1563661335 -2.5317365707
312 313 314 315 316 317 318 319
-2.6808923923 -0.3611266958 -1.9793224113 -1.3026988548 -0.5479803743 -1.2845598207 -5.4310554166 -4.1041329373
321 322 323 324 325 326 327 328
-0.0001480433 -1.9145163615 0.7359290402 2.0738222664 1.2424303282 -0.4617666491 -1.4835334717 1.1877940455
329 330 331 332 333 334 335 336
0.4844949799 -0.2646302291 0.4538803130 -2.6262957041 -1.0172872401 0.6155684581 -1.2759650892 -3.9361746044
337 338 339 340 341 342 343 345
0.8470521821 -1.2138692363 -1.7005299962 -0.1344266926 0.3815041337 -2.9390057205 -0.0600193103 -0.6949793946
346 348 349 350 351 352 353 354
1.6842569837 1.7504360561 -1.7149745965 0.5388073996 -1.7953849058 -1.3988981612 -2.1476490396 -1.8191174573
355 356 357 358 359 360 361 362
-4.3722349955 1.2905154088 -2.8992367058 0.5467700757 -0.8365276327 -1.8463345634 -0.8529552985 0.0374616682
363 364 365 366 367 368 369 370
1.4852585525 1.1705830186 0.2267069036 -0.3630720347 0.8039307285 -0.5547858790 -0.4031831881 -0.8040720532
371 372 373 374 375 376 377 378
-4.2657620112 0.9926893531 1.2897485979 -0.3439437197 0.7026023524 -0.4223527451 1.6945680971 1.4149674549
379 380 381 382 383 384 385 386
-0.2565665813 -0.5088253072 0.8265580924 -2.8801190979 -1.0992982640 1.7036376142 -1.6510880086 -2.6283486807
387 388 389 390 391 392 393 394
-2.7429850175 -1.0301366950 -2.2529536775 0.5348934393 1.7833978303 -0.1758305428 -0.8463602756 1.6100142400
395 396 397 398 399 400 401 402
-0.3784900583 0.0427599603 -3.6719897749 -2.6963208628 0.1099019534 0.9135026051 2.2846093672 -3.2530237060
403 404 405 406 407 408 409 411
-0.7858433812 -1.4612641754 -0.7483320523 0.6592629019 0.8354881585 -2.1344155685 -0.7738966860 -0.0695901941
412 413 414 415 416 417 418 419
-0.2456500742 -1.7840606241 1.0103290834 -0.6061143629 0.5886979905 0.7483097526 -2.4118259473 0.3871449114
420 421 422 423 424 425 426 427
-0.5358450883 -2.4049136956 -0.0718428928 0.2217903819 -2.0555604854 -0.1125642486 0.9512409722 -0.3938927707
428 429 430 431 432 433 434 435
-2.1588078165 -4.5587758740 -0.3974711447 -3.4972741955 -2.7468451507 -4.0240010826 -1.2376649821 -0.8601758841
436 437 438 439 441 442 443 444
-1.8247072765 -2.1982822065 -0.9086786312 -2.5908868923 1.6104292273 -2.8643858526 0.8676644888 -0.6341982718
445 446 447 448 450 451 452 453
1.1083677846 -2.7974586173 -0.9124265594 -2.8582137109 -0.6158904267 0.5542043514 -1.4595593045 0.6855187555
454 455 456 457 458 459 461 463
-2.7369141960 -0.5084103725 1.8935914136 -0.8462845151 -0.3956268602 -0.0550595988 -3.4517531755 0.2924904180
464 465 466 467 468 469 470 472
0.9901948466 -0.9144668043 -1.1576740585 -1.9024286598 0.1010148125 -1.0166984656 -0.4239323605 -0.2669242884
473 474 475 476 477 478 479 480
-1.6209462419 -0.3192900864 -1.6191873759 2.2403585942 -1.6380580036 -1.7799666805 -2.2638581753 0.8188496103
482 483 484 485 486 487 488 489
-3.0046993081 -2.1354733571 -0.3996634031 -5.4194562845 0.0314578109 -1.6636741952 0.7422213528 1.1319891691
490 491 492 494 495 496 497 498
-0.0681825655 -0.2497929443 -1.5651837840 -2.9511510495 0.6798121260 1.4605792628 0.6687839077 -1.3595444386
499 500 501 502 503 504 505 506
0.4852453018 -0.6834903323 -1.5992723938 -0.9588152704 -2.3153892559 -2.5295149790 1.3098463333 0.9107699650
507 508 509 510 511 512 513 514
1.3775868811 -1.6641746984 0.7232922110 -1.5135646595 0.1068243915 1.5190366486 -1.5405124410 -0.3091638590
515 516 517 518 519 520 521 522
-2.1302055216 0.8602866776 -0.8120769256 -1.6949674651 -4.2158387611 -3.8799901085 -2.6844892140 -3.3170459998
523 524 526 527 528 529 530 531
-1.7394192844 -0.8559994984 -1.5168666890 0.9065439669 -2.6020032851 -1.3006507001 -0.5288519833 -3.4022228615
532 533 534 535 536 537 538 539
-1.6605536368 -2.5283791167 -0.9578140883 0.7637717591 0.8979090192 1.2841780539 -3.6111455265 0.1821164971
540 541 542 543 544 545 546 547
1.0044910322 -1.7798993323 -0.9722192452 1.2147370856 -0.9064304484 -2.3249133206 -1.1635179397 -3.5888445168
548 549 550 551 552 553 554 555
0.0198702646 -3.0874133461 -1.7630702345 -2.8838505433 0.3264699349 -2.9574010827 -0.0187906290 -3.9587424709
556 557 558 559 560 561 562 563
-0.1977488118 -2.2811991319 -2.1180314684 -2.9271852842 -1.2855652634 -2.9008613405 -1.7519625289 -0.1092975027
Bijvoorbeeld, voor de 54e observatie in de dataset kan je aflezen dat \(log\left(\frac{\pi}{1-\pi}\right) = -4.7105759\). Als je dat wil kan je altijd narekenen dat dit inderdaad de juiste geschatte log(odds) is voor een persoon met volgende waarden voor de predictoren:
pcg psn attitudes opl.niveau leeftijd geslacht
2.75 1.666667 1.833333 1 55 0
De log(odds) is niet zo interessant om te rapporteren. Je rekent predicties op de log(odds)-schaal best om naar odds of naar kansen. Hieronder tonen we hoe je dat kan doen.
Predicties op de odds-schaal kan je bekomen door het getal \(e\) te verheffen tot de macht \(\beta_0 + \beta_1 \: pcg+ \beta_2 \: psn+ \beta_3 \: attitudes\).
Opnieuw kan je dit laten berekenen voor alle observaties in je
dataset. Het commando predict(model1)
leverde log(odds) op.
Om hieruit de odds te berekenen in R gebruik je de functie
exp()
.
log.odds <- predict(mdl.interactie)
exp(log.odds)
1 2 3 4 5 6 7 9 10 11
2.445100862 1.588431443 3.966409297 0.586290897 0.563758773 1.731849888 2.329372686 0.319057556 0.565823589 1.499358630
12 13 14 15 16 17 18 19 20 21
0.067901580 1.249534645 5.965814515 1.162997301 0.056742713 2.703575217 4.140831821 3.307079341 1.926667621 0.145001629
22 23 24 25 26 28 29 30 31 32
0.039062790 2.106844543 2.504103181 0.550524188 0.092152452 4.581460189 0.195416325 0.056843132 5.450677839 0.516816088
33 34 35 36 37 38 39 40 41 42
1.892059828 0.261949668 3.459558282 1.101905610 0.037146719 1.489087820 2.730975729 4.601922993 0.453767331 0.053959931
43 44 45 46 47 48 49 50 51 52
3.771142247 0.683995079 0.061169669 2.364796071 0.030742394 1.457071691 2.877805260 5.250070706 0.389527468 0.014154973
53 54 55 56 57 58 59 60 61 62
0.555726365 0.008999593 0.170386685 0.136836783 1.341716453 4.330042002 0.436638779 0.983647270 0.452137173 0.159428258
63 64 65 66 67 68 69 70 71 72
1.468849726 5.021958894 0.240493115 2.043528800 0.989021060 0.474591835 2.018919793 0.539211473 4.760902325 1.467621315
73 74 75 76 77 78 79 80 81 82
0.152887088 0.281401167 2.430843543 3.151596763 0.327107689 0.531924269 0.413715413 1.149843302 0.075798332 0.071857009
83 84 85 86 87 88 89 90 91 92
0.664427756 0.394365523 0.886258754 0.783133569 1.090047591 0.038477277 0.044098663 0.179558929 0.291117133 0.118828748
93 94 95 96 97 98 99 100 101 102
0.133590968 0.074486862 0.235221600 1.928091666 0.283737169 0.400243035 0.689534518 0.177452682 0.622355590 0.002947362
103 106 107 108 109 110 111 112 114 115
0.453982164 0.209642051 3.251850906 0.494834175 1.085759274 6.033621240 0.720521603 0.078134596 0.042380742 0.466067223
116 117 118 119 120 121 122 123 124 125
0.266556088 2.343509920 3.737682403 0.404928024 2.272474512 0.383775346 0.627923802 0.150335174 0.719703287 0.479852815
126 127 128 129 130 131 132 133 134 135
0.004848322 0.019950585 0.444907504 0.113893317 0.093365998 0.322806148 0.381678485 0.084678297 0.092112888 0.027030502
136 137 138 139 140 142 143 144 146 147
7.411543446 0.996506077 0.387952744 2.508752336 0.981976778 0.292992813 3.027212227 0.096078307 6.756471825 0.599010731
148 149 150 151 152 153 154 155 156 157
2.842880858 4.003503202 3.985918711 0.621040424 0.044129099 6.915649482 1.178234208 0.047245413 0.186614354 0.021004158
158 159 160 161 162 163 165 166 168 169
0.065108492 2.629024577 1.752328113 4.432870979 0.063076298 0.138756248 0.167142089 0.754957364 0.112022435 5.826859346
170 171 172 173 174 175 176 177 178 179
0.161223940 0.033797987 1.693781903 2.542319238 0.142673292 1.063504581 0.181829607 0.628477729 0.570365199 0.322066942
180 181 182 183 184 185 187 188 189 190
0.710691411 0.549815796 1.641645595 4.046749310 0.219033502 2.384040127 5.638057956 0.293154049 3.665546719 0.551105092
191 192 193 194 195 196 197 198 199 200
0.827652436 1.241787518 1.810449404 3.344156391 1.065526326 1.559244947 0.657197611 0.583702147 3.462908396 0.490016407
201 202 203 205 206 207 208 209 210 211
5.003420874 1.894113472 0.370328806 0.158333428 0.812829767 1.248338764 1.037824125 1.537366905 7.502144615 1.409516242
212 213 214 215 216 217 218 219 220 221
3.484037114 2.248376241 0.365854783 0.854402496 3.513353820 1.780681852 1.957470512 2.603823216 0.361132123 5.386961233
222 223 224 225 226 228 229 230 231 232
1.409230797 1.903826770 4.656208736 5.789060980 5.229606964 2.788342169 0.336648033 3.915101470 1.482113429 0.396439161
233 234 235 236 237 238 239 240 241 242
1.227259261 0.639355007 7.782586287 1.500015086 0.030496972 0.008623973 2.967166586 0.923420274 0.979401903 1.019777849
243 244 245 246 247 248 249 250 251 252
5.031547141 3.191870919 4.979222083 0.328968496 2.772059048 2.817643967 1.875970837 2.150229031 4.349945652 1.998898426
254 255 256 257 258 259 260 261 262 263
0.797102875 0.023215645 0.713621195 1.355231247 0.041647371 4.089962050 0.131192895 0.096562884 3.556302224 2.754604016
264 265 266 267 268 269 270 271 272 273
0.710564763 0.119080026 1.222860555 0.482314098 0.152937579 0.070848384 0.065273495 5.711054662 9.038554093 0.059185318
274 276 277 278 279 280 281 282 283 284
2.019236945 2.485765867 0.177990962 0.045694109 0.119166664 2.978185579 1.212801868 1.565094179 0.073397067 0.058628800
286 287 288 289 290 291 292 293 294 295
0.006765783 0.737713559 0.580923120 0.146089343 6.706170702 0.532974269 0.286674169 1.892444041 0.035851703 0.795568097
296 297 298 299 300 301 302 303 304 305
0.996143765 1.232201403 0.687951340 0.279909791 0.032523843 0.137818224 4.129088569 0.820785701 1.979523830 0.070775667
306 307 308 309 310 311 312 313 314 315
0.032302635 2.650925416 0.043227496 0.453881100 1.169254228 0.079520807 0.068501996 0.696890700 0.138162823 0.271797261
316 317 318 319 321 322 323 324 325 326
0.578116211 0.276772386 0.004378472 0.016504323 0.999851968 0.147413110 2.087420389 7.955171867 3.464021953 0.630169373
327 328 329 330 331 332 333 334 335 336
0.226834756 3.279838048 1.623354975 0.767489693 1.574409550 0.072345957 0.361574476 1.850708351 0.279161423 0.019522754
337 338 339 340 341 342 343 345 346 348
2.332760154 0.297045713 0.182586728 0.874216963 1.464485716 0.052918318 0.941746348 0.499084732 5.388445741 5.757112553
349 350 351 352 353 354 355 356 357 358
0.179968292 1.713961572 0.166063521 0.246868824 0.116758330 0.162168809 0.012622997 3.634659409 0.055065235 1.727663773
359 360 361 362 363 364 365 366 367 368
0.433212187 0.157814567 0.426153658 1.038172201 4.416107061 3.223871668 1.254462136 0.695536329 2.234306141 0.574195195
369 370 371 372 373 374 375 376 377 378
0.668189684 0.447502993 0.014041164 2.698481893 3.631873380 0.708968828 2.019000026 0.655502773 5.444294051 4.116352497
379 380 381 382 383 384 385 386 387 388
0.773703479 0.601201391 2.285438918 0.056128078 0.333104753 5.493895761 0.191841070 0.072197585 0.064377891 0.356958163
389 390 391 392 393 394 395 396 397 398
0.105088369 1.707266305 5.950039334 0.838760105 0.428973439 5.002882469 0.684894780 1.043687338 0.025425828 0.067453226
399 400 401 402 403 404 405 406 407 408
1.116168629 2.493039391 9.821848738 0.038657143 0.455735181 0.231942873 0.473155093 1.933366728 2.305939438 0.118313716
409 411 412 413 414 415 416 417 418 419
0.461212362 0.932775999 0.782195888 0.167954760 2.746504695 0.545466240 1.801641134 2.113424785 0.089651446 1.472769897
420 421 422 423 424 425 426 427 428 429
0.585174557 0.090273286 0.930677100 1.248309682 0.128021062 0.893539937 2.588920445 0.674426371 0.115462692 0.010474874
430 431 432 433 434 435 436 437 438 439
0.672017334 0.030279808 0.064129862 0.017881277 0.290060725 0.423087661 0.161264843 0.110993659 0.403056459 0.074953535
441 442 443 444 445 446 447 448 450 451
5.004959032 0.057018138 2.381342701 0.530360523 3.029409708 0.060964801 0.401548659 0.057371150 0.540159708 1.740555563
452 453 454 455 456 457 458 459 461 463
0.232338643 1.984801195 0.064769906 0.601450902 6.643184312 0.429005940 0.673257868 0.946428740 0.031690029 1.339759899
464 465 466 467 468 469 470 472 473 474
2.691758901 0.400730237 0.314216180 0.149205809 1.106293029 0.361787424 0.654468148 0.765731044 0.197711528 0.726664723
475 476 477 478 479 480 482 483 484 485
0.198059582 9.396700285 0.194357117 0.168643766 0.103948658 2.267889380 0.049553652 0.118188632 0.670545712 0.004429554
486 487 488 489 490 491 492 494 495 496
1.031957837 0.189441654 2.100596502 3.101820413 0.934089925 0.778962055 0.209049590 0.052279495 1.973506927 4.308454533
497 498 499 500 501 502 503 504 505 506
1.951862232 0.256777728 1.624573471 0.504851813 0.202043473 0.383346779 0.098727746 0.079697666 3.705604241 2.486236111
507 508 509 510 511 512 513 514 515 516
3.965321281 0.189346862 2.061207984 0.220123911 1.112738831 4.567822657 0.214271272 0.734060478 0.118812873 2.363838256
517 518 519 520 521 522 523 524 526 527
0.443935088 0.183605203 0.014759937 0.020651029 0.068256049 0.036259785 0.175622358 0.424858334 0.219398254 2.475751452
528 529 530 531 532 533 534 535 536 537
0.074124936 0.272354514 0.589281086 0.033299168 0.190033741 0.079788243 0.383730771 2.146356512 2.454465501 3.611698116
538 539 540 541 542 543 544 545 546 547
0.027020876 1.199753954 2.730517174 0.168655125 0.378242693 3.369408082 0.403963622 0.097791920 0.312385293 0.027630238
548 549 550 551 552 553 554 555 556 557
1.020068992 0.045619805 0.171517456 0.055919029 1.386066577 0.051953765 0.981384814 0.019087102 0.820575946 0.102161628
558 559 560 561 562 563
0.120268147 0.053547547 0.276494247 0.054975847 0.173433241 0.896463677
Als je dat wil kan je dit opnieuw zelf narekenen voor een bepaalde observatie, bijvoorbeeld nummer 54.
\[\frac{\pi}{1-\pi} = e^{-4.7105759} \approx 0.0089996\]
Als je eenmaal de odds hebt, dan is het ook mogelijk om de voorspelde kansen \(\pi\) te berekenen.
\[
\begin{align*}
odds &= \frac{\pi}{1-\pi} \\
& \Updownarrow \\
\pi &= \frac{odds}{1+odds}
\end{align*}
\]
In R kan je op basis van die formule een object (hier
kansen
) maken dat voor elke observatie de voorspelde kans
bevat.
kansen <- odds/(1+odds)
Je kan de kansen ook veel sneller bekomen via de functie
predict()
, door een extra argument mee te geven, of nog
korter via de functie fitted()
.
kansen <- predict(mdl.interactie, type="response")
# of
kansen <- fitted(mdl.interactie)
Van Nieuwenhove L. & De Wever B. (2023). Psychosocial barriers to adult learning and the role of prior learning experiences: A comparison based on educational level Adult Education Quarterly, doi: 10.1177/07417136231147491